package com.sinothk.fc.attend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 门店考勤记录表
 * @Author: Liangyt
 * @Date:   2022-09-18
 * @Version: V1.0
 */
@Data
@TableName("fc_attend_record")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="fc_attend_record对象", description="门店考勤记录表")
public class AttendRecordEntity implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**门店ID*/
	@Excel(name = "门店ID", width = 15)
    @ApiModelProperty(value = "门店ID")
    private String storeId;
	/**员工ID*/
	@Excel(name = "员工ID", width = 15)
    @ApiModelProperty(value = "员工ID")
    private String employeeId;
	/**员工姓名*/
	@Excel(name = "员工姓名", width = 15)
    @ApiModelProperty(value = "员工姓名")
    private String employeeName;
	/**考勤状态：0正常1迟到2请假3缺卡4早退5旷工*/
	@Excel(name = "考勤状态：0正常1迟到2请假3缺卡4早退5旷工", width = 15)
    @ApiModelProperty(value = "考勤状态：0正常1迟到2请假3缺卡4早退5旷工")
    private Integer attendEnterState;
	/**上班签到时间*/
	@Excel(name = "上班签到时间", width = 15)
    @ApiModelProperty(value = "上班签到时间")
    private Integer attendEnterTime;
	/**上班签到经度*/
	@Excel(name = "上班签到经度", width = 15)
    @ApiModelProperty(value = "上班签到经度")
    private Double attendEnterLng;
	/**上班签到纬度*/
	@Excel(name = "上班签到纬度", width = 15)
    @ApiModelProperty(value = "上班签到纬度")
    private Double attendEnterLat;
	/**上班签到地址*/
	@Excel(name = "上班签到地址", width = 15)
    @ApiModelProperty(value = "上班签到地址")
    private String attendEnterAddress;
	/**上班签到距离*/
	@Excel(name = "上班签到距离", width = 15)
    @ApiModelProperty(value = "上班签到距离")
    private Integer attendEnterDistance;
	/**上班签到文件*/
	@Excel(name = "上班签到文件", width = 15)
    @ApiModelProperty(value = "上班签到文件")
    private String attendEnterFileUrl;
	/**考勤月*/
	@Excel(name = "考勤月", width = 15)
    @ApiModelProperty(value = "考勤月")
    private String attendMonth;
	/**考勤日*/
	@Excel(name = "考勤日", width = 15)
    @ApiModelProperty(value = "考勤日")
    private String attendDay;
    /**考勤状态：0正常1迟到2请假3缺卡4早退5旷工*/
    @Excel(name = "考勤状态：0正常1迟到2请假3缺卡4早退5旷工", width = 15)
    @ApiModelProperty(value = "考勤状态：0正常1迟到2请假3缺卡4早退5旷工")
    private Integer attendExitState;
	/**下班签到时间*/
	@Excel(name = "下班签到时间", width = 15)
    @ApiModelProperty(value = "下班签到时间")
    private Integer attendExitTime;
	/**下班签到纬度*/
	@Excel(name = "下班签到纬度", width = 15)
    @ApiModelProperty(value = "下班签到纬度")
    private Double attendExitLat;
	/**下班签到经度*/
	@Excel(name = "下班签到经度", width = 15)
    @ApiModelProperty(value = "下班签到经度")
    private Double attendExitLng;
	/**下班签到地址*/
	@Excel(name = "下班签到地址", width = 15)
    @ApiModelProperty(value = "下班签到地址")
    private String attendExitAddress;
	/**下班签到距离*/
	@Excel(name = "下班签到距离", width = 15)
    @ApiModelProperty(value = "下班签到距离")
    private Integer attendExitDistance;
	/**下班签到文件*/
	@Excel(name = "下班签到文件", width = 15)
    @ApiModelProperty(value = "下班签到文件")
    private String attendExitFileUrl;
	/**规定上班时间*/
	@Excel(name = "规定上班时间", width = 15)
    @ApiModelProperty(value = "规定上班时间")
    private Integer configEnterTime;
	/**规定下班时间*/
	@Excel(name = "规定下班时间", width = 15)
    @ApiModelProperty(value = "规定下班时间")
    private Integer configExitTime;
	/**考勤配置纬度*/
	@Excel(name = "考勤配置纬度", width = 15)
    @ApiModelProperty(value = "考勤配置纬度")
    private Double configLat;
	/**考勤配置经度*/
	@Excel(name = "考勤配置经度", width = 15)
    @ApiModelProperty(value = "考勤配置经度")
    private Double configLng;
	/**考勤配置打卡距离*/
	@Excel(name = "考勤配置打卡距离", width = 15)
    @ApiModelProperty(value = "考勤配置打卡距离")
    private Integer configDistance;
	/**考勤配置地址*/
	@Excel(name = "考勤配置地址", width = 15)
    @ApiModelProperty(value = "考勤配置地址")
    private String configAddress;
	/**操作人*/
	@Excel(name = "操作人", width = 15)
    @ApiModelProperty(value = "操作人")
    private String optBy;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
}
